/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tema5;
import java.io.*;

/**Escribe un programa que pida un numero (haciendo referencia a un mes del año) y un año. 
 * El programa debe de visualizar el numero de días de dicho mes
 *
 * @author Gema Pérez
 */
public class Ejercicio5Pag114 {
     public static void main (String [] args) throws IOException
     {
         int mes,ano;
         int dias;//dias que tiene el mes
         mes=pedirNumero("introduce el mes");
         if (mes <1 || mes >12)
         {//mes incorrecto
             System.out.println ("mes incorrecto");
         }//mes incorrecto
         else
         {//mes correcto
             ano=pedirNumero ("introduce el año");
             if (ano<0)
             {//año incorrecto
                 System.out.println ("año incorrecto");
             }//año incorrecto
             else
             {//año correcto
                if (mes==2)  
                {//febrero
                    if (ano%4==0 && ano%100!=0 || ano%400==0)
                    {//año bisiesto
                        dias=29;
                    }//año bisiesto
                    else
                    {//año no bisiesto
                        dias=28;
                    }//año no bisiesto
                }
                else 
                {
                    if (mes==4 ||mes==6 || mes==9 || mes==11)
                    {//meses de 30 días
                        dias=30;
                    }//meses de 30 días
                    else
                    {//resto de meses
                        dias=31;
                    }//resto de meses
                }
                System.out.println ("los días que tiene son: "+dias);
             }//año correcto
         }//mes correcto
     }
    
    
    /**
      * metodo para introducir un numero
      * @param mensaje string que visualiza el mensaje
      * @return dato de tipo numerico que es el valor introducido
      * @throws IOException excepción de entrada y salida
      */
     public static int pedirNumero (String mensaje) throws IOException
    {
        int numero;
        InputStreamReader flujo=new InputStreamReader(System.in);
        BufferedReader teclado=new BufferedReader (flujo);
        System.out.println(mensaje);
        numero=Integer.parseInt(teclado.readLine());
        //fin metodo pedir numero
        return numero;
    }
}
